package com.ruoyi.cases.service;

import com.ruoyi.cases.domain.CommonCheckType;
import com.ruoyi.cases.domain.TreeSelectNew;

import java.util.List;
import java.util.Set;


/**
 * 检查类型Service接口
 * 
 * @author ruoyi
 * @date 2023-11-16
 */
public interface ICommonCheckTypeService 
{
    /**
     * 查询检查类型
     * 
     * @param id 检查类型主键
     * @return 检查类型
     */
    public CommonCheckType selectCommonCheckTypeById(Long id);

    /**
     * 查询检查类型列表
     * 
     * @param commonCheckType 检查类型
     * @return 检查类型集合
     */
    public List<CommonCheckType> selectCommonCheckTypeList(CommonCheckType commonCheckType);

    /**
     * 新增检查类型
     * 
     * @param commonCheckType 检查类型
     * @return 结果
     */
    public int insertCommonCheckType(CommonCheckType commonCheckType);

    /**
     * 修改检查类型
     * 
     * @param commonCheckType 检查类型
     * @return 结果
     */
    public int updateCommonCheckType(CommonCheckType commonCheckType);

    /**
     * 批量删除检查类型
     * 
     * @param ids 需要删除的检查类型主键集合
     * @return 结果
     */
    public int deleteCommonCheckTypeByIds(Long[] ids);

    /**
     * 删除检查类型信息
     * 
     * @param id 检查类型主键
     * @return 结果
     */
    public int deleteCommonCheckTypeById(Long id);

    public List<TreeSelectNew> buildCheckTypeTreeSelect(List<CommonCheckType> commonCheckTypes);

    public List<CommonCheckType> buildTypeTree(List<CommonCheckType> archivesTypes);

    Set<String> getParentsRegion(List<CommonCheckType> commonCheckTypes, CommonCheckType commonCheckType);


    List<CommonCheckType> selectCommonCheckTypeListByParentId();
}
